草庐IT

iOS10 UNNotificationServiceExtension 未调用

全部标签

Ruby 2.0 - 将整数舍入到最接近的 10 的倍数

如何将整数四舍五入到最接近的十的倍数?我试过integer.round(0.1)但它给出了最接近的decimal数字。示例:3应返回0,55应返回60。有没有一种方法可以四舍五入到最接近的10的倍数? 最佳答案 Integer#round具有功能。您将一个负数传递给round以表示您要四舍五入到哪个10位。例如:四舍五入到最接近的10:55.round(-1)#=>60四舍五入到最接近的100:550.round(-2)#=>600 关于Ruby2.0-将整数舍入到最接近的10的倍数,我

ruby -::和 . 之间有区别吗?在 Ruby 中调用类方法时?

一个简单的问题,但我一直很好奇...以下两个命令之间是否存在功能差异?String::classString.class它们都按照我的预期进行——也就是说它们返回Class——但是使用::和之间有什么区别。?我注意到,在那些定义了常量的类上,当您在::之后而不是在之后按Tab键时,IRB的自动完成将返回常量作为可用选项。,但我不知道这是什么原因... 最佳答案 .运算符基本上表示“将此消息发送到对象”。在您的示例中,它正在调用该特定成员。::运算符“向下钻取”到运算符左侧定义的范围,然后调用运算符右侧定义的成员。当您使用::时,您必

ruby - 如何在 Ruby 中动态调用访问器方法

这个问题在这里已经有了答案:Howtocallmethodsdynamicallybasedontheirname?[duplicate](5个答案)关闭8年前。不管这是否是好的做法,我如何在Ruby中动态调用访问器方法?这是一个示例类:classTest_Classattr_accessor:a,:bend我可以使用Object.send方法读取变量...instance.a="value"puts(instance.send("a"))#=>value但是我很难尝试写信给它。这些抛出“错误数量的参数(1代表0)(ArgumentError)”instance.send("a","v

编译器是否对所有内联函数调用执行相同的操作?

C++编译器是否会对将两个不同的呼叫呼叫采取不同的决定?考虑这样的代码:inlinefunc(intx){returnx+(x编译器会在循环之前对呼叫和循环中的呼叫执行相同的操作?如果我们考虑了代码长度以及速度优化,则不应将循环之前的呼叫与内部的呼叫,内部的呼叫。看答案这取决于您的编译器。假设你用gcc5.4.0和-O2优化水平。内部的第一行main功能inty=func(1)+func(2)+func(3)+func(4);将根据整数文字和内部的代码在编译时间计算for循环将被内衬。但是,如果您使用另一个编译器或另一个优化级别,则结果可能会有所不同。如果您希望检查代码的组件输出,请使用编译器

ruby - 您已经激活了 rake 0.9.6,但是您的 Gemfile 需要 rake 10.1.0。使用 bundle exec 可以解决这个问题

在继续阅读之前,我必须声明我已经在google和stackoverflow上阅读并尝试过类似的问题和答案。我的问题是:bundle安装或更新不执行任何操作gemuninstallrake拒绝,因为rake是默认的gem我不能对所有命令都使用bundleexec还有其他想法吗?! 最佳答案 在项目的根目录下,执行:gemlistrake您可能会看到不止一个版本。如果是,则通过命令删除不需要的版本(即0.9.6):gemuninstallrake它会询问要删除哪个版本。或者尝试做bundleupdaterake

ruby-on-rails - 什么时候在 Rails 中调用 "require"?

我在Rails或Ruby中有一个更概念性的问题:是否最好在需要它的方法之前调用require,在类的开头或Rails启动时在初始化程序中的某个地方对我的require进行分组?从性能的角度来看,这重要吗?从可读性的角度来看?如果我使用Rails3,会有什么不同吗?谢谢! 最佳答案 如果您关心性能,那么您应该在需要它们的上下文中要求它们,这样如果您的那部分代码没有被执行,库就不会被加载。任何对require的后续调用都没有效果,因为该文件已经加载。这最终看起来像这样:if(user.using_openid?)require'open

ruby - 如何断言某些方法被 Ruby minitest 框架调用?

我想用minitestRuby测试一个函数是否正确调用其他函数,但我找不到合适的assert来从doc中测试.源代码classSomeClassdefinvoke_function(name)name=="right"?right():wrong()enddefright#...enddefwrong#...endend测试代码:describeSomeClassdoit"shouldinvokerightfunction"do#assertright()iscalledendit"shouldinvokeotherfunction"do#assertwrong()iscalleden

具有调用私有(private)方法的静态方法的 Ruby 类?

我有一个包含许多静态方法的类。每个人都必须调用一个通用方法,但我尽量不公开后一种方法。将其设为私有(private)只允许从该类的自己的实例进行访问?Protected似乎也不能解决这里的问题。如何在静态上下文中隐藏do_calc不被外部调用?(让它可以从前两个静态方法调用。)classFoodefself.bardo_calc()enddefself.bazdo_calc()enddefself.do_calcendend 最佳答案 首先,static并不是Ruby行话的真正组成部分。举个简单的例子:classBardefself

ruby - 如何在 OSX 10.7 上打包 ruby​​ shoes 应用程序

我一直在使用RubyShoes制作应用程序。我对结果很满意,并想与一些friend分享。但是,GUI打包器在OSX中不起作用,Windows打包器似乎只能生成一个.shy文件。我一直在四处寻找解决方案,但我不明白其中的任何一个。有人可以清楚地逐步解释如何将RubyShoes应用程序打包为DMG或EXE文件吗? 最佳答案 就个人而言,我更喜欢使用green_shoes.Green_shoes是您在ruby​​代码中需要的纯ruby​​gem,而不是打包ruby​​代码的程序。这样,您就可以使用诸如ocra之类的程序。将您的ruby​​

ruby - 如何从命令行调用旧版本的 gem?

假设我安装了两个版本的gem(somegem版本0.10.6和0.10.5)并且我想从命令行运行早期版本。我必须卸载较新的版本吗?有没有一种方法可以使用标志来指定我要使用的版本?有点像……somegem/path/to/dir--version0.10.5我查看了ruby​​gems文档,它只描述了当您需要文件中的gem时如何使用特定版本,但没有说明如何从命令行执行此操作。 最佳答案 somegem_0.10.5_/path/to/dir没有指向文档的链接,因为显然没有。 关于ruby-